[INFO] fetching crate linguafranca 0.3.7...
[INFO] testing linguafranca-0.3.7 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] extracting crate linguafranca 0.3.7 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate linguafranca 0.3.7
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate linguafranca 0.3.7
[INFO] tweaked toml for crates.io crate linguafranca 0.3.7 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate linguafranca 0.3.7 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate linguafranca 0.3.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094
[INFO] running `Command { std: "docker" "start" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling linguafranca v0.3.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.63s
[INFO] running `Command { std: "docker" "inspect" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rstest_macros v0.25.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling rstest v0.25.0
[INFO] [stderr]    Compiling linguafranca v0.3.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/linguafranca-3b5b8832034a6151)
[INFO] [stdout] 
[INFO] [stdout] running 297 tests
[INFO] [stdout] test anthropic::convert::collect::collector::tests::delta_without_active_block_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::collect_stream::tests::delegates_to_collector ... ok
[INFO] [stdout] test anthropic::convert::collect::collect_stream::tests::empty_stream_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::double_finalize_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::falls_back_to_initial_usage_when_delta_has_none ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::error_event_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::input_json_delta_on_text_block_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::message_delta_usage_overrides_initial ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::missing_message_stop_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::no_events_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::ping_is_ignored ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::no_message_start_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::feed_after_finalize_returns_error ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::redacted_thinking_passed_through_from_start ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::server_tool_use_json_is_reassembled ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::text_citations_preserved_from_start_block ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::thinking_and_signature_are_reassembled ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::signature_delta_on_tool_block_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::tool_use_json_chunks_are_reassembled ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::text_delta_on_tool_block_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::thinking_delta_on_text_block_warns ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::empty_text_skips_delta ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::empty_tool_input_skips_delta ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::message_start_has_empty_content_and_no_stop_reason ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::message_start_has_seed_usage_and_delta_has_final ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::text_deltas_are_concatenated ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::unknown_event_warns_and_continues ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::multi_block_indexes_are_sequential ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_mixed_content ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::redacted_thinking_emits_no_deltas_and_preserves_data ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_redacted_thinking ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_max_tokens ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_server_tool_use_with_caller ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_web_search ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::text_block_emits_text_delta ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::tool_use_block_emits_input_json_delta ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::thinking_block_emits_thinking_and_signature_deltas ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::citations_preserved_in_start_block ... ok
[INFO] [stdout] test anthropic::convert::collect::collector::tests::web_search_tool_result_passed_through_from_start ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::empty_content_produces_envelope_only ... ok
[INFO] [stdout] test anthropic::convert::config::tests::budget_to_effort_ratio_based ... ok
[INFO] [stdout] test anthropic::convert::config::tests::budget_to_effort_max_tokens_below_2_errors ... ok
[INFO] [stdout] test anthropic::convert::config::tests::budget_to_effort_budget_exceeds_max_is_xhigh ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::malformed_data_url_returns_warning ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::web_search_citation_end_index_counts_chars_not_bytes ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::round_trip_text_with_citations ... ok
[INFO] [stdout] test anthropic::convert::collect::decompose_to_stream::tests::caller_preserved_in_start_block ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::regular_url_passes_through ... ok
[INFO] [stdout] test anthropic::convert::config::tests::budget_to_effort_small_max_tokens ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::valid_data_url_parses_without_warning ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::image_source_roundtrip ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::web_search_citation_falls_back_to_generated_text_span ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::web_search_citation_prefers_match_at_fallback_start ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::am_max_effort_maps_to_or_xhigh_with_warning ... ok
[INFO] [stdout] test anthropic::convert::helpers::tests::web_search_citation_returns_none_when_no_span_available ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::am_xhigh_effort_maps_to_or_xhigh ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::known_service_tier_maps_to_open_responses ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::am_low_effort_maps_to_or_low ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::flex_maps_to_standard_with_warning ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::legacy_default_string_maps_to_default_without_warning ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::or_none_effort_maps_to_no_am_effort ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::or_minimal_effort_maps_to_am_low_with_warning ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::or_xhigh_effort_maps_to_am_xhigh ... ok
[INFO] [stdout] test anthropic::convert::mapping::tests::unknown_anthropic_service_tier_warns_and_drops ... ok
[INFO] [stdout] test anthropic::convert::request::accum::tests::different_roles_separate_messages ... ok
[INFO] [stdout] test anthropic::convert::request::accum::tests::push_blocks_merges_same_role ... ok
[INFO] [stdout] test anthropic::convert::request::accum::tests::push_blocks_upgrades_text_to_blocks ... ok
[INFO] [stdout] test anthropic::convert::request::accum::tests::push_text_merges_same_role ... ok
[INFO] [stdout] test anthropic::convert::request::accum::tests::push_text_shorthand ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::prompt_cache_retention_in_memory_maps_to_ephemeral_no_ttl ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::max_output_tokens_zero_errors ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::or_to_am_24h_retention_maps_to_1h_ttl ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_minimal_effort_maps_to_output_config_low_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::prompt_cache_retention_24h_maps_to_ephemeral_1h_ttl ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::or_to_am_always_injects_cache_control ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::prompt_cache_retention_none_maps_to_ephemeral_no_ttl ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_auto_maps_to_adaptive_summarized_with_effort ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_no_summary_maps_to_adaptive_omitted_with_effort ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_detailed_maps_to_adaptive_summarized_no_effort_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_detailed_maps_to_adaptive_summarized_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_auto_maps_to_adaptive_summarized ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_concise_maps_to_adaptive_summarized ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_concise_maps_to_adaptive_summarized_with_effort ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_summary_is_dropped_when_effort_is_none ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::adaptive_thinking_display_omitted_maps_to_no_summary ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::required_tool_choice_with_extended_thinking_maps_to_auto_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::adaptive_thinking_display_summarized_matches_no_display ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::specific_tool_choice_with_adaptive_thinking_maps_to_auto_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::cache_control_ephemeral_no_ttl_maps_to_no_retention ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::cache_control_ephemeral_1h_maps_to_24h_retention ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::cache_control_none_maps_to_no_retention ... ok
[INFO] [stdout] test anthropic::convert::request::from_open_responses::tests::reasoning_xhigh_effort_maps_to_output_config_xhigh ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::merge_neither_returns_none ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::enabled_thinking_display_omitted_maps_to_no_summary ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::enabled_thinking_display_summarized_maps_to_auto ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::enabled_thinking_display_summarized_matches_no_display ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::merge_output_effort_only_no_thinking ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::enabled_thinking_no_display_sets_summary_auto ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::merge_output_effort_overrides_thinking_effort_with_warning ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::merge_thinking_only_no_output_effort ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::completed_with_function_call_last_gives_tool_use ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::adaptive_thinking_no_display_sets_summary_auto ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::completed_without_function_call_gives_end_turn ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::in_progress_open_responses_response_is_rejected ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::missing_usage_warns_and_synthesizes_default_usage ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::non_assistant_output_message_is_dropped_with_warning ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::open_responses_response_error_is_rejected ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::queued_open_responses_response_is_rejected ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::non_url_citation_returns_none ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::stop_reason_max_tokens_maps_to_incomplete ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_conversion_heavy_caching_no_negative ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_conversion_includes_cache_creation_in_total_input ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_conversion_no_cache_passthrough ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_conversion_normalizes_input_tokens ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_conversion_sums_uncached_cache_read_and_cache_creation_tokens ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_round_trip_preserves_anthropic_values ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::web_search_citation_converts_to_url_citation ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::dropped_reasoning_does_not_create_a_block_index_gap ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::error_event_emits_anthropic_error ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::empty_reasoning_is_buffered_until_first_reasoning_delta ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::error_event_param_emits_warning ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::usage_roundtrip_lossy_cache_creation ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::error_event_without_code_uses_fallback ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::orphan_reasoning_delta_is_dropped_instead_of_attaching_to_previous_block ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::reasoning_added_without_encrypted_content_can_still_finish_as_redacted ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::redacted_reasoning_without_encrypted_content_warns_and_is_dropped ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::response_completed_emits_message_delta_and_stop ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::response_created_emits_message_start ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::response_created_without_usage_warns_and_synthesizes_default_usage ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::text_delta_passes_through ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::unknown_event_is_dropped_with_warning ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::error_before_message_start_is_invalid_input ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::error_maps_to_response_failed ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::message_start_emits_created_and_in_progress ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::ping_after_message_start_uses_next_sequence_number ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::sequence_numbers_increment ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::ping_maps_to_keepalive ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::ping_inside_thinking_block_emits_keepalive_with_correct_seq ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::unknown_delta_is_dropped_with_warning ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::text_block_lifecycle ... ok
[INFO] [stdout] test anthropic::convert::stream::into_open_responses::tests::unknown_event_is_dropped_with_warning ... ok
[INFO] [stdout] test anthropic::stream::tests::parses_unknown_delta_as_unknown ... ok
[INFO] [stdout] test anthropic::stream::tests::parses_unknown_event_as_unknown ... ok
[INFO] [stdout] test anthropic::types::tests::output_effort_roundtrips ... ok
[INFO] [stdout] test anthropic::convert::stream::from_open_responses::tests::keepalive_maps_to_ping ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::cache_control_ephemeral_5m_maps_to_no_retention ... ok
[INFO] [stdout] test anthropic::convert::request::into_open_responses::tests::merge_output_effort_with_adaptive_thinking_no_warning ... ok
[INFO] [stdout] test anthropic::convert::response::into_open_responses::tests::stop_reason_end_turn_maps_to_completed ... ok
[INFO] [stdout] test anthropic::convert::response::from_open_responses::tests::failed_open_responses_response_is_rejected ... ok
[INFO] [stdout] test anthropic::types::tests::service_tier_known_roundtrips ... ok
[INFO] [stdout] test anthropic::types::tests::service_tier_unknown_roundtrips_as_other ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collect_stream::tests::empty_stream_returns_error ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::custom_tool_call_reassembled ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collect_stream::tests::delegates_to_collector ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::empty_content_becomes_none ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::function_tool_call_reassembled ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::logprobs_in_stream_warns_once ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::multiple_choices_warns_once ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::missing_finish_reason_warns ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::multiple_tool_calls_ordered_by_index ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::envelope_captured_from_first_chunk ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::service_tier_and_fingerprint_captured ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::refusal_accumulated ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::text_deltas_are_concatenated ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::usage_from_dedicated_chunk ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::feed_after_finalize_returns_error ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::annotations_warn_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::double_finalize_returns_error ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::audio_warns_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::choice_index_preserved ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::empty_arguments_skips_args_chunk ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::empty_content_skips_content_delta ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::envelope_matches_response ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::logprobs_warns_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::reasoning_before_content ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::refusal_emitted ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::no_choices_returns_error ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_content_and_tool_calls ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::no_events_returns_error ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_max_tokens ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_tool_calls ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::reasoning_content_accumulated ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_simple_text ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::collector::tests::tool_call_delta_without_id_warns ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_with_reasoning ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::simple_text_event_sequence ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::round_trip_with_refusal ... ok
[INFO] [stdout] test chat_completions_openai::convert::collect::decompose_to_stream::tests::tool_calls_emit_start_and_args ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::accum::tests::preserves_order_when_tool_calls_flush_between_messages ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::allowed_tools_without_representable_entries_is_dropped_with_warnings ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::image_without_url_is_dropped_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::explicit_empty_tools_warn_and_drop_tool_choice ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::file_url_without_file_data_is_dropped_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::input_item_id_and_status_are_warned_when_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::reasoning_encrypted_content_is_warned_when_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::reasoning_summary_is_dropped_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::accum::tests::or_input_item_accum_preserves_append_order ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::allowed_tools_warn_for_invalid_entries_but_keep_valid_ones ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::specific_tool_choice_without_name_is_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::stream_options_preserves_include_obfuscation ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::stream_true_without_stream_options_sets_include_usage ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::top_logprobs_without_include_is_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::file_id_with_file_data_warns_but_keeps_file_part ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::from_open_responses::tests::unsupported_tools_warn_and_drop_tool_choice_when_none_remain ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::logprobs_false_with_top_logprobs_warns_and_enables_include ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::max_tokens_conflict_warns_and_prefers_max_completion_tokens ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::service_tier_scale_maps_to_priority_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::unknown_tool_choice_mode_is_dropped_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::non_string_metadata_value_warns_and_is_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::from_open_responses::tests::assistant_message_annotations_are_rebased_when_text_parts_are_joined ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::from_open_responses::tests::output_item_metadata_is_warned_when_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::from_open_responses::tests::reasoning_encrypted_content_is_warned_when_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::from_open_responses::tests::failed_content_filter_maps_to_content_filter_finish_reason ... ok
[INFO] [stdout] test chat_completions_openai::convert::request::into_open_responses::tests::text_with_is_assistant_converts_to_output_text ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::into_open_responses::tests::missing_finish_reason_maps_to_incomplete_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::accum::tests::inline_tool_call_arguments_conflict_warns_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::accum::tests::inline_tool_call_arguments_to_emit_omits_duplicate_prefix ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::accum::tests::remember_response_header_sets_identity_once_and_updates_service_tier ... ok
[INFO] [stdout] test chat_completions_openai::convert::response::into_open_responses::tests::synthesized_open_responses_serializes_nullable_required_fields ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::failed_content_filter_response_maps_to_content_filter_finish_reason ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::accum::tests::inline_tool_call_arguments_to_emit_handles_partial_prefix_replay ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::delta_before_response_header_warns_once ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::error_event_emits_finish_reason_error_and_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::created_at_zero_in_response_header_does_not_trigger_missing_header_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::accum::tests::reset_message_parts_clears_open_parts ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::flush_without_terminal_event_emits_no_synthetic_chunk_and_warns ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::function_call_added_after_arguments_delta_does_not_duplicate_inline_arguments ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::function_call_added_preserves_inline_arguments ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::function_call_added_preserves_empty_inline_arguments ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::role_prelude_emitted_once ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::service_tier_and_obfuscation_are_preserved_on_emitted_chunks ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::unknown_event_is_dropped_with_warning ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::content_delta_emits_text_delta_immediately ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::function_call_arguments_delta_without_prelude_warns ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::content_filter_finish_reason_synthesizes_error_and_marks_open_message_incomplete ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::dropped_unnamed_tool_call_does_not_consume_output_index_for_later_named_call ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::from_open_responses::tests::keepalive_is_dropped ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::error_finish_reason_synthesizes_error_and_marks_open_tool_call_incomplete ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::terminal_waits_through_empty_metadata_chunks_until_usage_chunk_arrives ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::terminal_with_only_empty_metadata_chunks_after_finish_reason_finalizes_on_flush ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::tool_call_name_before_id_waits_for_call_id_before_emitting_item ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::flush_without_terminal_marks_response_incomplete_and_warns ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::text_reasoning_text_interleaving_closes_reasoning_before_next_text_delta ... ok
[INFO] [stdout] test convert::ctx::tests::warn_with_empty_path ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::tool_call_without_name_is_dropped_on_finalization ... ok
[INFO] [stdout] test convert::ctx::tests::pop_restores_path ... ok
[INFO] [stdout] test convert::ctx::tests::warn_with_nested_path ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::empty_flush_is_noop ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::push_item_flushes_pending_parts ... ok
[INFO] [stdout] test convert::open_responses_id::tests::output_item_ids_are_stable_and_opaque ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::single_output_text_flushes_as_text ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::single_text_flushes_as_text ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::single_image_flushes_as_parts ... ok
[INFO] [stdout] test convert::open_responses_output_accum::tests::message_ids_are_opaque_and_unique ... ok
[INFO] [stdout] test convert::open_responses_output_accum::tests::empty_flush_is_noop ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::multiple_parts_flushes_as_parts ... ok
[INFO] [stdout] test chat_completions_openai::convert::stream::into_open_responses::tests::unsupported_chunk_fields_warn_once ... ok
[INFO] [stdout] test convert::open_responses_output_accum::tests::single_text_flushes_as_message ... ok
[INFO] [stdout] test open_responses::convert::collect::collect_stream::tests::collect_fallback_uses_latest_header_event ... ok
[INFO] [stdout] test convert::open_responses_output_accum::tests::push_item_flushes_pending ... ok
[INFO] [stdout] test open_responses::convert::collect::collect_stream::tests::collect_multiple_terminals_uses_last_and_warns ... ok
[INFO] [stdout] test convert::open_responses_input_accum::tests::push_item_without_pending_parts ... ok
[INFO] [stdout] test open_responses::convert::collect::collect_stream::tests::collect_fallback_preserves_existing_incomplete_details ... ok
[INFO] [stdout] test open_responses::convert::collect::collector::tests::collector_double_finalize_returns_error ... ok
[INFO] [stdout] test open_responses::convert::collect::collect_stream::tests::collect_only_keepalives_returns_error ... ok
[INFO] [stdout] test open_responses::convert::collect::collect_stream::tests::collect_no_events_returns_error ... ok
[INFO] [stdout] test open_responses::convert::collect::collector::tests::collector_fallback_uses_latest_header ... ok
[INFO] [stdout] test open_responses::convert::collect::collector::tests::collector_feed_after_finalize_returns_error ... ok
[INFO] [stdout] test open_responses::convert::collect::collector::tests::collector_no_events_returns_error ... ok
[INFO] [stdout] test open_responses::convert::collect::collector::tests::collector_unknown_event_warns_and_continues ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_empty_response ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_reasoning_summary_indices ... ok
[INFO] [stdout] test open_responses::stream::tests::output_text_stream_events_serialize_logprobs_when_empty ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_empty_text_skips_delta ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_terminal_event_matches_status ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_function_call_has_in_progress_added ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_message_with_text ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::round_trip_collect_after_decompose ... ok
[INFO] [stdout] test open_responses::stream::tests::parses_error_event_with_optional_fields_missing ... ok
[INFO] [stdout] test open_responses::stream::tests::parses_error_event_from_openai_wire_format ... ok
[INFO] [stdout] test open_responses::stream::tests::parses_unknown_event_as_unknown ... ok
[INFO] [stdout] test open_responses::types::tests::content_part_output_text_annotations_default_when_omitted ... ok
[INFO] [stdout] test open_responses::types::tests::content_part_output_text_annotations_round_trip ... ok
[INFO] [stdout] test open_responses::types::tests::input_item_with_explicit_type_still_works ... ok
[INFO] [stdout] test open_responses::types::tests::input_content_part_output_text_annotations_default_when_omitted ... ok
[INFO] [stdout] test open_responses::types::tests::output_content_part_text_annotations_default_when_omitted ... ok
[INFO] [stdout] test open_responses::types::tests::input_content_part_output_text_annotations_round_trip ... ok
[INFO] [stdout] test open_responses::types::tests::output_content_part_text_annotations_round_trip ... ok
[INFO] [stdout] test open_responses::types::tests::input_item_defaults_to_message_when_type_absent ... ok
[INFO] [stdout] test open_responses::types::tests::input_item_serializes_with_type_tag ... ok
[INFO] [stdout] test open_responses::convert::collect::decompose_to_stream::tests::decompose_empty_arguments_skips_delta_but_emits_done ... ok
[INFO] [stdout] test open_responses::types::tests::response_reasoning_summary_defaults_when_omitted ... ok
[INFO] [stdout] test open_responses::types::tests::tool_deserializes_any_web_search_variant ... ok
[INFO] [stdout] test open_responses::types::tests::output_text_logprobs_serialize_when_empty ... ok
[INFO] [stdout] test open_responses::types::tests::response_reasoning_summary_serializes_null_when_absent ... ok
[INFO] [stderr]      Running unittests src/bin/export_json_schemas.rs (/opt/rustwide/target/debug/deps/export_json_schemas-e4a7d6198c3dc4bc)
[INFO] [stdout] test open_responses::types::tests::usage_output_tokens_details_serializes_when_absent ... ok
[INFO] [stdout] test open_responses::types::tests::tool_serializes_web_search_as_web_search ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 297 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/chat_completions.rs (/opt/rustwide/target/debug/deps/chat_completions-d8c2c7bd083e6e45)
[INFO] [stdout] 
[INFO] [stdout] running 123 tests
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_2_multi_turn ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_5_with_image_url ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_4_with_image ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_8_reasoning_and_text_config ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_7_tool_conversation_order ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_6_system_and_developer_roles ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_3_reasoning_effort_mapping ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_9_assistant_output_text ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_2_lossy_parameter_normalization ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_1_dropped_fields_chat_completions ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_4_reasoning_content_items ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_6_web_search_exact_type_cc_to_or ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_5_web_search_tool_cc_to_or ... ok
[INFO] [stdout] test collect_chat_completions::case_2_max_tokens ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_9_web_search_tool_warnings_cc_to_or ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_8_web_search_options_and_tool_cc_to_or ... ok
[INFO] [stdout] test collect_chat_completions::case_1_simple_text ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_1_simple_text ... ok
[INFO] [stdout] test chat_completions_to_open_responses_only::case_7_web_search_options_cc_to_or ... ok
[INFO] [stdout] test collect_chat_completions::case_3_with_reasoning ... ok
[INFO] [stdout] test collect_chat_completions::case_7_custom_tool_call ... ok
[INFO] [stdout] test collect_chat_completions::case_6_multi_tool_use ... ok
[INFO] [stdout] test decompose_chat_completions::case_1_simple_text ... ok
[INFO] [stdout] test decompose_chat_completions::case_3_with_reasoning ... ok
[INFO] [stdout] test collect_chat_completions::case_4_with_refusal ... ok
[INFO] [stdout] test collect_chat_completions::case_5_with_tool_calls ... ok
[INFO] [stdout] test decompose_chat_completions::case_5_with_tool_calls ... ok
[INFO] [stdout] test decompose_chat_completions::case_7_custom_tool_call ... ok
[INFO] [stdout] test decompose_chat_completions::case_2_max_tokens ... ok
[INFO] [stdout] test decompose_chat_completions::case_4_with_refusal ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_2_multi_turn ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_4_with_image ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_6_system_and_developer_roles ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_5_with_image_url ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_7_tool_conversation_order ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_02_tool_choice_missing_name ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_01_include_logprobs_clamping ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_9_assistant_output_text ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_8_reasoning_and_text_config ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_04_stream_usage_defaults ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_03_item_reference_ordering ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_07_max_output_tokens_mapping ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_05_dropped_fields_open_responses ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_1_simple_text ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_09_reasoning_items_input ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_08_simple_text_input_string ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_06_reasoning_summary_dropped ... ok
[INFO] [stdout] test decompose_chat_completions::case_6_multi_tool_use ... ok
[INFO] [stdout] test open_responses_to_chat_completions_only::case_10_web_search_tool_dropped_or_to_cc ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_2_tool_calls_and_reasoning ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_1_simple_text ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_6_failed_status ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_5_max_tokens ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_4_with_annotations ... ok
[INFO] [stdout] test open_responses_to_chat_completions_bidirectional::case_3_with_tools ... ok
[INFO] [stdout] test chat_completions_to_open_responses_bidirectional::case_3_with_tools ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_3_with_refusal ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_bidirectional::case_7_usage_with_details ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_1_multiple_choices_first_only ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_2_choice_logprobs_dropped ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_3_annotations_without_content_dropped ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_4_audio_dropped ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_6_service_tier_scale_mapped_to_priority ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_7_unknown_service_tier_dropped ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_1_simple_text ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_5_custom_tool_call_downgraded ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_6_failed_status ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_8_custom_tool_call ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_7_usage_with_details ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_2_tool_calls_and_reasoning ... ok
[INFO] [stdout] test resp_chat_completions_to_open_responses_only::case_8_non_assistant_role_warned ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_4_with_annotations ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_2_non_terminal_status_finish_reason_omitted ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_4_non_assistant_output_message_dropped ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_1_dropped_fields_open_responses ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_3_function_call_output_dropped ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_5_output_text_logprobs_dropped ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_3_with_refusal ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_bidirectional::case_5_max_tokens ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_6_input_type_content_parts_dropped ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_2_max_tokens ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_3_with_reasoning ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_5_with_tool_calls ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_4_with_refusal ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_7_reasoning_summary_and_content_joined ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_6_multi_tool_use ... ok
[INFO] [stdout] test resp_open_responses_to_chat_completions_only::case_8_content_and_refusal_joining ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_1_simple_text ... ok
[INFO] [stdout] test round_trip_cc_decompose_collect::case_7_custom_tool_call ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_08_tool_use_only ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_07_thinking_and_tool_use ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_05_simple_text ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_04_response_incomplete_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_11_with_annotations_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_12_with_citations ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_13_with_function_call_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_15_with_reasoning_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_16_with_redacted_thinking ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_10_custom_tool_legacy_hybrid ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_06_simple_text_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_01_max_tokens ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_18_with_tool_use ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_01_max_tokens ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_02_multi_output_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_09_custom_tool ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_02_multi_output_or ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_03_multi_tool_use ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_17_with_thinking ... ok
[INFO] [stdout] test stream_chat_completions_to_open_responses::case_14_with_reasoning_no_summary_or ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_04_response_incomplete_or ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_03_multi_tool_use ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_05_simple_text ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_06_simple_text_or ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_09_custom_tool ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_12_with_reasoning_no_summary_or ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_10_custom_tool_delta_then_added ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_08_tool_use_only ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_07_thinking_and_tool_use ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_14_with_redacted_thinking ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_11_with_function_call_or ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_15_with_thinking ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_16_with_tool_use ... ok
[INFO] [stdout] test stream_open_responses_to_chat_completions::case_13_with_reasoning_or ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 123 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/messages.rs (/opt/rustwide/target/debug/deps/messages-a0f70668b0989c90)
[INFO] [stdout] 
[INFO] [stdout] running 98 tests
[INFO] [stdout] test anthropic_messages_to_open_responses::case_02_with_system ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_01_simple_text ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_03_system_blocks ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_05_with_tools ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_04_multi_turn ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_06_tool_use_conversation ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_08_with_image_url ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses_only::case_2_with_reasoning_messages ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_09_with_json_schema ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses_only::case_1_dropped_fields_messages ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_10_assistant_output_text ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses_only::case_3_reasoning_items_messages ... ok
[INFO] [stdout] test collect_anthropic_stream::case_1_simple_text ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses_only::case_5_tool_search_am_to_or ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses::case_07_with_image ... ok
[INFO] [stdout] test collect_anthropic_stream::case_4_max_tokens ... ok
[INFO] [stdout] test collect_anthropic_stream::case_3_with_thinking ... ok
[INFO] [stdout] test anthropic_messages_to_open_responses_only::case_4_web_search_history_am_to_or ... ok
[INFO] [stdout] test collect_anthropic_stream::case_2_with_tool_use ... ok
[INFO] [stdout] test collect_anthropic_stream::case_6_stop_sequence ... ok
[INFO] [stdout] test decompose_anthropic_response::case_1_simple_text ... ok
[INFO] [stdout] test collect_anthropic_stream::case_5_multi_tool_use ... ok
[INFO] [stdout] test collect_anthropic_stream::case_7_with_citations_delta ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_02_with_system ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_01_simple_text ... ok
[INFO] [stdout] test decompose_anthropic_response::case_3_with_thinking ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_03_system_blocks ... ok
[INFO] [stdout] test decompose_anthropic_response::case_6_max_tokens ... ok
[INFO] [stdout] test decompose_anthropic_response::case_2_with_tool_use ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_09_with_json_schema ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_08_with_image_url ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_05_with_tools ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_07_with_image ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_02_with_reasoning_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_03_with_output_effort_and_adaptive ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_04_multi_turn ... ok
[INFO] [stdout] test decompose_anthropic_response::case_5_multi_tool_use ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_10_assistant_output_text ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_06_reasoning_items_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_04_default_max_tokens ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_07_web_search_call_dropped_or_to_am ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_01_dropped_fields_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_08_system_and_developer_open_responses ... ok
[INFO] [stdout] test decompose_anthropic_response::case_4_redacted_thinking ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_09_instructions_dropped_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages::case_06_tool_use_conversation ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_11_interleaved_non_text_instruction_dropped_open_responses ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_1_simple_text ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_10_interleaved_developer_hoisted_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_12_tool_choice_missing_name_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_13_allowed_tools_dropped_open_responses ... ok
[INFO] [stdout] test open_responses_to_anthropic_messages_only::case_05_simple_text_string_open_responses ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_3_with_thinking ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_1_simple_text ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_2_with_tool_use ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_4_max_tokens ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses_only::case_3_web_search_messages ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_5_redacted_thinking ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_3_with_thinking ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_4_max_tokens ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages_only::case_1_dropped_fields_open_responses ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_5_redacted_thinking ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_6_multi_tool_use ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses::case_6_multi_tool_use ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses_only::case_1_with_citations ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages::case_2_with_tool_use ... ok
[INFO] [stdout] test resp_anthropic_messages_to_open_responses_only::case_2_dropped_fields_messages ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages_only::case_2_with_refusal ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_4_redacted_thinking ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_1_simple_text ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages_only::case_3_function_call_output_open_responses ... ok
[INFO] [stdout] test resp_open_responses_to_anthropic_messages_only::case_4_with_citations_open_responses ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_2_with_tool_use ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_01_simple_text ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_5_multi_tool_use ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_6_max_tokens ... ok
[INFO] [stdout] test round_trip_anthropic_decompose_collect::case_3_with_thinking ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_04_max_tokens ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_02_tool_use_only ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_05_thinking_and_tool_use ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_09_web_search_messages ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_12_with_error_messages ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_11_with_citations_delta ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_08_stop_sequence ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_07_multi_tool_use ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_10_tool_search_messages ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_03_with_thinking ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_06_with_tool_use ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_7_with_refusal_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_4_response_incomplete_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_2_with_function_call_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_1_simple_text_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_6_with_reasoning_no_summary_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_8_with_annotations_open_responses ... ok
[INFO] [stdout] test stream_anthropic_messages_to_open_responses::case_13_with_heartbeat ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_9_with_keepalive_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_5_multi_output_open_responses ... ok
[INFO] [stdout] test stream_open_responses_to_anthropic_messages::case_3_with_reasoning_open_responses ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 98 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/open_responses.rs (/opt/rustwide/target/debug/deps/open_responses-f01eb7125fbcce6e)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test collect_stream::case_3_failed ... ok
[INFO] [stdout] test collect_stream::case_2_no_terminal ... ok
[INFO] [stdout] test collect_stream::case_5_with_custom_tool_call ... ok
[INFO] [stdout] test collect_stream::case_4_incomplete ... ok
[INFO] [stdout] test collect_stream::case_8_mixed_output_types ... ok
[INFO] [stdout] test collect_stream::case_7_with_function_call_output ... ok
[INFO] [stdout] test decompose_to_stream::case_01_simple_text ... ok
[INFO] [stdout] test decompose_to_stream::case_02_with_reasoning ... ok
[INFO] [stdout] test decompose_to_stream::case_03_with_function_call ... ok
[INFO] [stdout] test collect_stream::case_1_simple_text ... ok
[INFO] [stdout] test decompose_to_stream::case_04_with_custom_tool_call ... ok
[INFO] [stdout] test decompose_to_stream::case_05_with_web_search_call ... ok
[INFO] [stdout] test decompose_to_stream::case_08_with_annotations ... ok
[INFO] [stdout] test decompose_to_stream::case_12_failed_response ... ok
[INFO] [stdout] test decompose_to_stream::case_09_reasoning_and_message ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_03_with_function_call ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_02_with_reasoning ... ok
[INFO] [stdout] test decompose_to_stream::case_10_mixed_output_types ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_04_with_custom_tool_call ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_07_with_refusal ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_06_with_function_call_output ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_01_simple_text ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_08_with_annotations ... ok
[INFO] [stdout] test collect_stream::case_6_with_web_search_call ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_09_reasoning_and_message ... ok
[INFO] [stdout] test decompose_to_stream::case_11_incomplete_response ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_11_incomplete_response ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_12_failed_response ... ok
[INFO] [stdout] test decompose_to_stream::case_06_with_function_call_output ... ok
[INFO] [stderr]      Running tests/round_trip.rs (/opt/rustwide/target/debug/deps/round_trip-13ecbb20544aba34)
[INFO] [stdout] test decompose_to_stream::case_07_with_refusal ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_10_mixed_output_types ... ok
[INFO] [stdout] test round_trip_decompose_collect::case_05_with_web_search_call ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test am_request_round_trip::path_03_tests_fixtures_anthropic_messages_request_default_max_tokens_mes ... ok
[INFO] [stdout] test am_request_round_trip::path_01_tests_fixtures_anthropic_messages_request_allowed_tools_dropped_ ... ok
[INFO] [stdout] test am_request_round_trip::path_04_tests_fixtures_anthropic_messages_request_dropped_fields_message ... ok
[INFO] [stdout] test am_request_round_trip::path_08_tests_fixtures_anthropic_messages_request_interleaved_non_text_i ... ok
[INFO] [stdout] test am_request_round_trip::path_06_tests_fixtures_anthropic_messages_request_instructions_dropped_o ... ok
[INFO] [stdout] test am_request_round_trip::path_07_tests_fixtures_anthropic_messages_request_interleaved_developer_ ... ok
[INFO] [stdout] test am_request_round_trip::path_11_tests_fixtures_anthropic_messages_request_reasoning_items_open_r ... ok
[INFO] [stdout] test am_request_round_trip::path_02_tests_fixtures_anthropic_messages_request_assistant_output_text_ ... ok
[INFO] [stdout] test am_request_round_trip::path_10_tests_fixtures_anthropic_messages_request_reasoning_items_messag ... ok
[INFO] [stdout] test am_request_round_trip::path_12_tests_fixtures_anthropic_messages_request_simple_text_messages_j ... ok
[INFO] [stdout] test am_request_round_trip::path_14_tests_fixtures_anthropic_messages_request_strip_reasoning_or_to_ ... ok
[INFO] [stdout] test am_request_round_trip::path_15_tests_fixtures_anthropic_messages_request_strip_redacted_thinkin ... ok
[INFO] [stdout] test am_request_round_trip::path_13_tests_fixtures_anthropic_messages_request_simple_text_string_ope ... ok
[INFO] [stdout] test am_request_round_trip::path_09_tests_fixtures_anthropic_messages_request_multi_turn_messages_js ... ok
[INFO] [stdout] test am_request_round_trip::path_17_tests_fixtures_anthropic_messages_request_system_and_developer_o ... ok
[INFO] [stdout] test am_request_round_trip::path_16_tests_fixtures_anthropic_messages_request_strip_thinking_am_to_o ... ok
[INFO] [stdout] test am_request_round_trip::path_05_tests_fixtures_anthropic_messages_request_dropped_fields_open_re ... ok
[INFO] [stdout] test am_request_round_trip::path_18_tests_fixtures_anthropic_messages_request_system_blocks_messages ... ok
[INFO] [stdout] test am_request_round_trip::path_20_tests_fixtures_anthropic_messages_request_tool_use_conversation_ ... ok
[INFO] [stdout] test am_request_round_trip::path_23_tests_fixtures_anthropic_messages_request_with_image_url_message ... ok
[INFO] [stdout] test am_request_round_trip::path_25_tests_fixtures_anthropic_messages_request_with_output_effort_mes ... ok
[INFO] [stdout] test am_request_round_trip::path_24_tests_fixtures_anthropic_messages_request_with_json_schema_messa ... ok
[INFO] [stdout] test am_request_round_trip::path_26_tests_fixtures_anthropic_messages_request_with_output_effort_and ... ok
[INFO] [stdout] test am_request_round_trip::path_29_tests_fixtures_anthropic_messages_request_with_reasoning_open_re ... ok
[INFO] [stdout] test am_request_round_trip::path_31_tests_fixtures_anthropic_messages_request_with_tools_messages_js ... ok
[INFO] [stdout] test am_request_round_trip::path_30_tests_fixtures_anthropic_messages_request_with_system_messages_j ... ok
[INFO] [stdout] test am_response_round_trip::path_01_tests_fixtures_anthropic_messages_response_dropped_fields_messag ... ok
[INFO] [stdout] test am_request_round_trip::path_19_tests_fixtures_anthropic_messages_request_tool_choice_missing_na ... ok
[INFO] [stdout] test am_response_round_trip::path_03_tests_fixtures_anthropic_messages_response_function_call_output_ ... ok
[INFO] [stdout] test am_response_round_trip::path_04_tests_fixtures_anthropic_messages_response_max_tokens_messages_j ... ok
[INFO] [stdout] test am_response_round_trip::path_06_tests_fixtures_anthropic_messages_response_redacted_thinking_mes ... ok
[INFO] [stdout] test am_response_round_trip::path_05_tests_fixtures_anthropic_messages_response_multi_tool_use_messag ... ok
[INFO] [stdout] test am_request_round_trip::path_27_tests_fixtures_anthropic_messages_request_with_output_effort_onl ... ok
[INFO] [stdout] test am_request_round_trip::path_21_tests_fixtures_anthropic_messages_request_web_search_call_droppe ... ok
[INFO] [stdout] test am_request_round_trip::path_28_tests_fixtures_anthropic_messages_request_with_reasoning_message ... ok
[INFO] [stdout] test am_response_round_trip::path_08_tests_fixtures_anthropic_messages_response_web_search_messages_m ... ok
[INFO] [stdout] test am_response_round_trip::path_07_tests_fixtures_anthropic_messages_response_simple_text_messages_ ... ok
[INFO] [stdout] test am_response_round_trip::path_02_tests_fixtures_anthropic_messages_response_dropped_fields_open_r ... ok
[INFO] [stdout] test am_response_round_trip::path_10_tests_fixtures_anthropic_messages_response_with_citations_open_r ... ok
[INFO] [stdout] test am_response_round_trip::path_09_tests_fixtures_anthropic_messages_response_with_citations_messag ... ok
[INFO] [stdout] test am_request_round_trip::path_22_tests_fixtures_anthropic_messages_request_with_image_messages_js ... ok
[INFO] [stdout] test am_response_round_trip::path_13_tests_fixtures_anthropic_messages_response_with_tool_use_message ... ok
[INFO] [stdout] test am_stream_round_trip::path_04_tests_fixtures_anthropic_messages_stream_response_incomplete_ope ... ok
[INFO] [stdout] test am_stream_round_trip::path_07_tests_fixtures_anthropic_messages_stream_stop_sequence_messages_ ... ok
[INFO] [stdout] test am_response_round_trip::path_12_tests_fixtures_anthropic_messages_response_with_thinking_message ... ok
[INFO] [stdout] test am_stream_round_trip::path_09_tests_fixtures_anthropic_messages_stream_tool_use_only_messages_ ... ok
[INFO] [stdout] test am_response_round_trip::path_11_tests_fixtures_anthropic_messages_response_with_refusal_messages ... ok
[INFO] [stdout] test am_stream_round_trip::path_05_tests_fixtures_anthropic_messages_stream_simple_text_messages_ev ... ok
[INFO] [stdout] test am_stream_round_trip::path_06_tests_fixtures_anthropic_messages_stream_simple_text_open_respon ... ok
[INFO] [stdout] test am_stream_round_trip::path_01_tests_fixtures_anthropic_messages_stream_max_tokens_messages_eve ... ok
[INFO] [stdout] test am_stream_round_trip::path_03_tests_fixtures_anthropic_messages_stream_multi_tool_use_messages ... ok
[INFO] [stdout] test am_stream_round_trip::path_10_tests_fixtures_anthropic_messages_stream_web_search_messages_mes ... ok
[INFO] [stdout] test am_stream_round_trip::path_12_tests_fixtures_anthropic_messages_stream_with_citations_delta_me ... ok
[INFO] [stdout] test am_stream_round_trip::path_02_tests_fixtures_anthropic_messages_stream_multi_output_open_respo ... ok
[INFO] [stdout] test am_stream_round_trip::path_13_tests_fixtures_anthropic_messages_stream_with_error_messages_mes ... ok
[INFO] [stdout] test am_stream_round_trip::path_16_tests_fixtures_anthropic_messages_stream_with_keepalive_open_res ... ok
[INFO] [stdout] test am_stream_round_trip::path_14_tests_fixtures_anthropic_messages_stream_with_function_call_open ... ok
[INFO] [stdout] test am_stream_round_trip::path_15_tests_fixtures_anthropic_messages_stream_with_heartbeat_messages ... ok
[INFO] [stdout] test am_stream_round_trip::path_17_tests_fixtures_anthropic_messages_stream_with_reasoning_no_summa ... ok
[INFO] [stdout] test am_stream_round_trip::path_19_tests_fixtures_anthropic_messages_stream_with_refusal_open_respo ... ok
[INFO] [stdout] test am_stream_round_trip::path_11_tests_fixtures_anthropic_messages_stream_with_annotations_open_r ... ok
[INFO] [stdout] test am_stream_round_trip::path_08_tests_fixtures_anthropic_messages_stream_thinking_and_tool_use_m ... ok
[INFO] [stdout] test am_stream_round_trip::path_18_tests_fixtures_anthropic_messages_stream_with_reasoning_open_res ... ok
[INFO] [stdout] test am_stream_round_trip::path_21_tests_fixtures_anthropic_messages_stream_with_tool_use_messages_ ... ok
[INFO] [stdout] test am_stream_round_trip::path_20_tests_fixtures_anthropic_messages_stream_with_thinking_messages_ ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/strip_reasoning.rs (/opt/rustwide/target/debug/deps/strip_reasoning-b2a3c5fd6dc1ec0f)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test strip_or_to_am::case_1_strip_reasoning_or_to_am ... ok
[INFO] [stdout] test strip_am_to_or::case_1_strip_thinking_am_to_or ... ok
[INFO] [stderr]    Doc-tests linguafranca
[INFO] [stdout] test strip_am_to_or::case_2_strip_redacted_thinking_am_to_or ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/error.rs - error::ConversionResult<T>::warn_unsupported (line 65) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.45s; merged doctests compilation took 0.45s
[INFO] running `Command { std: "docker" "inspect" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094", kill_on_drop: false }`
[INFO] [stdout] c405c93549ec160da6f5cfe2811a6312027b77d3c5bda485a763d343e072e094
